declare module 'TYPE' {
    import Koa from 'koa'
    import Router from 'koa-router'
    import {User} from 'knex/types/tables'
    interface Context extends Koa.ParameterizedContext<any, Router.IRouterParamContext<any, {}>, any> {
        msg: string // 返回的信息
        cd: number // 返回的错误码
        user: User
        return: any
        validatedParams: any
    }
    type Next = Koa.Next
    type MetheodType = TypedPropertyDescriptor<(ctx: Context, next: Next) => Promise<void>>

    interface redisSQLDatabase {
        indexName?: string
        loadAll?: {(): Promise<void>}
        afterLoad?: {(): Promise<void>}
        initIndex?: {(del: Boolean): Promise<void>}
    }
}

